////详谈同一作用域
//#include <iostream>
//
//using namespace std;
//
//namespace ns1 {
//
//    void foo(char *c, short s) {
//        cout << "1.foo(char*,short)" << endl;
//    }
//
//    void foo(int i, double d) {
//        cout << "2.foo(int,double)" << endl;
//    }
//}
//namespace ns2 {
//
//    void foo(const char *c, short s) {
//        cout << "3.foo(const char*,s)" << endl;
//    }
//
//    void foo(double d, int i) {
//        cout << "4. foo(double,int)" << endl;
//    }
//}
//
//int main(void) {
//    using namespace ns1;//名字空间指令，从这行代码开始，ns1中的内容在当前作用域可见（出现在可见表）
//    using ns2::foo;//名字空间声明，从这行代码开始，ns2中的foo引入当前作用域(出现在定义表中)
//    char *c;
//    short s;
//    foo(c, s);
//    const char *cc;
//    foo(cc, s);
//    int i;
//    double d;
//    foo(i, d);
//    foo(d, i);
//    return 0;
//}